Many data processing apparatus have a processing unit for processing data. Some processing units have a single processor for processing data. Other processing units have multiple processors for processing data, in which case these processors may work independently of each other or may work in cooperation with each other.
Some processors have two or more “modes of operation”, with the processor being able to switch between these various modes depending on the current processing circumstances or conditions. Each of these modes relates to a respective frequency at which the processor runs (i.e. a frequency at which the processor is clocked) when operating/processing in that mode. The higher the frequency, the more processing operations or cycles that the processor can perform per unit time. The ability to change the processing frequency allows the processor to process data at different data rates (i.e. perform more or less data processing operations per unit time), depending on the frequency at which processor is caused to run due to its current mode of operation.
For example, it is common for many processors to have a “normal mode” and a “turbo mode”, where the processor runs at a higher processing frequency when in turbo mode than when in normal mode. The processor will normally be run in its normal mode. However, the processor (operating in normal mode) may detect that it cannot satisfy the data processing rate being demanded of it, i.e. the required processing would use more processing cycles per unit time than are available from the processor in normal mode. This can occur, for example, when there has been an increase in data throughput or an increase in the amount of data being received by the processor for processing, so that more data needs to be processed per unit time. When the processor detects this, then the processor may switch to the turbo mode. In the turbo mode, the processor runs at a higher processing frequency and is therefore better able to satisfy the current data processing rate being demanded of the processor. The processor may then revert to the normal mode when the data processing rate has reduced sufficiently such that the processor can satisfy that reduced data processing rate in the normal mode.
However, the various modes of operation generally use different amounts of power. In particular, the processor may have a first mode of operation and a second mode of operation, with the processor running at a higher frequency when in the second mode of operation than when in the first mode of operation. In this case, the processor will generally use (require, consume or draw) more power when in second mode of operation than when in the first mode of operation.
These differences between the power consumption of the various modes of operation can have a large impact on the lifetime of a battery, or the period required before a rechargeable battery needs recharging, for battery-powered devices such as mobile telephones, laptops, personal digital assistants, etc. It would therefore be desirable for the processor to be able to control its use of its modes of operation in a way that reduces the overall power consumption, by avoiding, where possible, the modes of operation that consume the higher levels of power. This would help improve the lifetime of a battery. This would also have an overall reduction on the power consumption of any apparatus that use such processors (whether battery-powered or not), causing them to be cheaper to operate and be more environmentally friendly.